package com.模板方法模式.方法模板;

/**
 * @author: wh(1835734390 @ qq.com)
 * @date: 2023/7/7 10:08
 * @description:
 * @version:
 */
public class Algo<T> {
    //这里ILess是一个接口，同理在一定情况下我们也可以根据需要传入consumer，supplier类型的函数式接口
    public T getMax(T t[], ILess<T> cmp) {
        T maxValue =  t[0];
        //遍历数组，找出最大值赋值给maxValue
        for (int i = 1; i < t.length; i++) {
            if (cmp.less(maxValue, t[i])) {
                maxValue = t[i];
            }
        }
        return maxValue;
    }
}
